基于单片机的自然电场记录器
2007/10/29 11:39:00
自然电场法是利用电化学作用在周围产生的自然极化电场进行找矿、填图和解决水文地质问题的一种被动源电法勘探方法[1]。采用电位观测法是观测自然电场的最常用的方式。传统的测量自然电场仪器只能测量单通道信号,并且不能实现数据存储和导出功能。本方案设计的自然电场记录器目的在于实现对mV级的低频自然电场信号的采集,并进行数据显示、存储、浏览,以及与PC机之间的通信。 1 硬件电路设计 对于微弱的自然电场信号,幅值处于数百微伏至数十毫伏之间,频带处于0.01—100Hz范围内。为实现对mV级的低频自然电场信号的采集、数据存储显示、用户按键操作以及与PC机串口数据传输等功能,设计出相应的硬件电路模块。硬件框图如图1所示,由DC/DC模块、前置放大与低通模块、A/D(AD7705)模数转换电路、FLASH(AT45DB041)存储模块、LCD(LCM1602)显示模块和串口通信(MAX232)模块六个模块组成。 图1 硬件原理框图 自然电场信号在前置放大与滤波模块先进行放大和抗混叠滤波,信号再进入A/D模数转换模块,AD7705在单片机设置的参数控制下工作,一次采集结束数据通过LCD显示,用户确认保存时AT89C51将数据写入至FLASH中,最后通过串口将数据导出至PC机中。 DC/DC模块实现将电池组电压进行稳压整流,转换成电路所需的±5V工作电压和+2.5V参考电压。前放采用高精密仪表放大器INA2128,INA2128是一种低漂移、高增益、高带宽、高共模抑制比、带内部保护的双通道仪表放大器[2]。外接一个电阻即可实现仪表放大,放大倍数可高达10000,很适合于微弱信号的处理。滤波部分实现为滤除工频及高频噪声。滤波电路采用低功耗双运算放大器OPA2650,组成陷波和低通电路。键盘模块实现单片机扫描键盘响应用户操作,实现用户对采集过程的控制。LCD显示模块采用LCM1602液晶显示模块,支持5×7点阵和2×16字符显示两种模式,自带西文字库,背光亮度和显示对比度可调。由液晶显示屏和内置HD4470驱动器两部分组成,单片机通过写控制字方式访问驱动器来实现对显示屏的控制。串口通信模块实现RS232电平与TTL电平的转换,MAX232内含两个接收器和两个发送器,单电源供电,与PC机的串口通信。下面是对A/D(AD7705)模块和FLASH(AT45DB041)存储模块的接口电路进行分析。 1.1 AD7705接口电路 AD7705是的两通道、16位分辨率、内置可编程增益放大器(范围1~128)、支持SPI接口、可变采样率(20Hz、25Hz、100Hz、200Hz、50Hz、60Hz、250Hz、500Hz八个档位)、低功耗(3V工作电压功耗为1mW)的∑-△A/D转换器,它适用于宽动态范围测量、工业控制或工艺控制中的低频信号的转换。AD7705灵活的SPI接口使其能很容易地与大多数微处理器进行连接,很容易构成对采样速率要求不高的数据采集系统。因此很适合低频自然电场信号的测量。 图2 AD7705接口电路 AD7705 的编程功能用片内寄存器的设置来控制。对这些寄存器的读/ 写操作通过器件的串行接口来完成。AD7705提供SPI接口,在单片机的IO资源有限的情况下串行数据传输方式利于节省IO资源,由于AT89C51自身不带SPI接口,通过模拟SPI时序对AD7705片内寄存器进行读写操作,实现对AD7705工作方式的设定和数据的读取。SPI接口由SCLK、DIN、DOUT、DRDY和CS组成,DIN 线用来向片内寄存器传送数据,而DOUT 线用来访问寄存器里的数据。SCLK是串行时钟输入,所有的数据传输都和SCLK信号有关。DRDY线作为状态信号,以提示数据什么时候已准备好从寄存器读数据。输出寄存器中有新的数据时,DRDY 变为低电平。CS 是片选信号,用来选择器件。 接口电路如图2所示,本设计中CS已固定至低电平,单片机P1.4管脚提供时钟SCLK,在上升沿将数据通过DIN数据流写入寄存器。设定参数包括滤波同步、双极性模式、缓冲模式、自校准模式、时钟选择、增益控制和采样率设置等。设置好寄存器启动采集,一次转换结束DRDY管脚为低电平,产生中断通知单片机将数据读出,读数据过程将由SCLK和DOUT配合实现,上升沿DOUT数据有效,单片机读取一次转换数据。两通道循环采集,直到完成用户设定的采集次数。为提高准确度和精度,采取变增益的办法,变增益满足不同的幅值信号;降低基准电压;采用自校准模式。 1.2 FLASH(AT45DB041)接口电路 AT45DB041是ATMEL公司带SPI接口的串行FLASH存储器。传统快闪存储器往往利用多条地址线和并行接口来实现随机存取数据,而AT45DB041则利用串行接口来实现连续存取数据。简单的串行接口简化了硬件电路,使线路板尺寸变小,成本降低,抗干扰能力增强,系统的可靠性得以提高。AT45DB041内部结构图如图3所示,存储空间为其4Mbit,分为2048页,每页264个字节;除主存储页外,还包含2个SRAM数据缓冲区,每个区的容量均为264个字节。数据可以直接写入主存, 也可以先写入Buffer , 然后再将Buffer 的数据整个复制到主存的某一页, 也可以在主存正处于编程时将数据写入Buffer。本设计方案中一个站点采集双通道,单通道采样100次,一次2字节,一次电位差数据大约占用一页,一次双通道采集占用两页,所以一共可容纳1024次记录。 图3 AT45DB041内部结构图 通过单片机模拟SPI接口时序完成对AT45DB041中数据的读写操作,当芯片使能脚CS为低电平时,在时钟输入脚(SCK)的控制下,通过串行数据输入脚(SI),便可将命令码、主存储页或缓冲区地址码串行输入,然后即可写入数据。读数据过程不同在于写入读操作命令码及数据地址后,单片机通过SO管脚读出数据。需注意的是,所有的命令码、地址、数据串行输入时,均是高位在前,低位在后。当写保护脚(WP)为低电平时,主存储页的前256页不能写入数据。当复位脚(RESET)变为低电平时,将中断所有正在进行的读操作,并将内部置成空闲状态。一旦该脚变为高电平,即可对芯片进行正常的读写操作。 数据的读出包括主存储页直接读出、从主存储页读取数据至缓冲区、从缓冲区读数据、读状态寄存器等四种。除命令码不同外,读取的方法均大同小异,下面只介绍将从主存储页直接读出数据的方法。主存储页读允许用户从2048主存储页的任一页中读取数据,在SCK 时钟脉冲的控制下,先串行输入命令码(51H)、紧接着是4个保留位、然后是20 个地址位(即11个页地址位和9个页中数据起始地址位)、最后是32个无关位。4个保留位是用于将来扩展该芯片的容量而设置的,对于AT45DB041 可输入4 个0,32个无关位用于初始化读操作。数据通过SO脚串行输出,在数据的读出过程中,芯片使能脚必须保持低电平,当一页数据的最后一个字节读完后,会从该页的第一个字节开始继续读取数据。当芯片使能脚(CS)由低电平变为高电平时,将终止数据的读取,SO脚保持高阻态。 2 软件程序设计 图4 软件设计框架图 图4描述了软件设计的总体框架,仪器的软件实现包括两部分,单片机控制程序和上位机的通信数据预处理程序。单片机控制程序在KEILC51集成开发环境下进行,主要实现采集主程序、AD7705转换控制程序、AT45DB041读写程序、键盘扫描程序、与上位机串口通信接发数据程序和LCD字符显示程序。上位机软件在VC环境下进行,通过与下位机的串口通信程序,将数据从仪器中导出,并实现数据浏览、极差校正、数据绘图等自然电场数据预处理功能。 2.1 单片机程序 图5 采集主程序流程 这里举例采集主程序[3]和串口通信程序[4]。采集主程序流程如图5所示:初始化包括LCD显示询问用户开始采集数据是否还是与导出数据;按下确定键则按预设的采集参数启动采集,按取消键则与上位机进行通信导出数据;启动采集后AD7705两通道先后各采集100次,采集结束后求均值显示自然电场值,提示用户保存数据,按下确定数据保存至FLASH中,再询问是否开始一次新的采集,按下确定键开始一次新的采集;按下取消键结束操作。 串口通信程序实现与PC机间传输数据功能,单片机串口设定为工作方式1,波特率设置为19200,8位数据位、无奇偶校验。图6所示,需要导出数据时,上电后用户进入通信状态等待PC机发送命令,当接收到命令申请串口中断,一次从FLASH起始地址读取十字节数据,发送至PC机,等待PC机的接收,上位机一次接收完成后,再向单片机发送命令,循环进行直到接收用户预设的记录点数为止。 图6 串口通信示意图 3 测试数据与结论 3.1 野外实测数据 为验证仪器的灵敏度和精确度,室内先进行双通道的一致性测试和重复性测试,与标准信号源的对比。室内试验通过后在内蒙古东乌旗道特苏木西南(N 45°38´03.0",E 118°00´00.0")——(N 45°21´52.9",E 117°59´59.9")进行了点距为50米的600点测量,测线长度30Km。各个野外测量布站示意如图7所示,一个站点采集两通道△U1和△U2数据。 图7 野外测量布站示意图 数据记录未进行极差校正的测线剖面图如图8所示。 图8内蒙东乌旗地区3线自然电位观测曲线 3.2 结论 自然电场记录器硬件由DC/DC模块、前置放大与低通模块、A/D(AD7705)模数转换电路、FLASH(AT45DB0
提交
查看更多评论
其他资讯
基于AVR与LabVIEW的大地电磁采集器设计